package bit_exercises.Day8;

/**
 * @author zerorain
 * @date 2022/04/25 22:57
 **/

//第二题 求最小公倍数
import java.util.*;
public class Main{
    public static void main(String[] args){
        Scanner sc = new Scanner(System.in);
        int a = sc.nextInt();
        int b = sc.nextInt();
        int ret = Maxyue(a,b);
        System.out.println( a*b / ret);   //最小公倍数 = a*b/ a与b的最大公约数
    }

    private static int Maxyue(int a, int b) {
        int r = 0;
        if(a == b){
            return a;
        }
        if(b > a){
            int temp = a;
            a = b ;
            b = temp;
        }
        while(a%b != 0){
            r = a%b;
            a = b;
            b = r;
        }
        return b;
    }
}
//第一题  两种排序方法 推荐使用sb方法 不然数组第一个是n
//import java.util.*;
//public class Main{
//    public static void main(String[] args){
//        Scanner sc = new Scanner(System.in);
//        int n = sc.nextInt();
//        String[] str = new String[n + 1];
//        for(int i = 0 ;  i < n + 1 ; i++){
//            str[i] = sc.nextLine();
//        }
//        if(isSortZidian(str) && isSortLength(str)){
//            System.out.println("both");
//        } else if(isSortZidian(str)){
//            System.out.println("lexicographically");
//        }else if(isSortLength(str)){
//            System.out.println("lengths");
//        }else{
//            System.out.println("none");
//        }
//    }
//    public static boolean isSortZidian(String[] str){
//        for(int i = 0; i < str.length-1; i++){
//            if(str[i].compareTo(str[i+1])>0){
//                return false;
//            }
//        }
//        return true;
//    }
//    public static boolean isSortLength(String[] str){
//        for(int i = 0 ; i< str.length - 1; i++){
//            if(str[i].toCharArray().length > str[i+1].toCharArray().length){
//                return false;
//            }
//        }
//        return true;
//    }
//}